The Liberty Basic Newsletter - Issue #140 - JAN 2006 
Please download the Zip Archive for this issue to get all associated files.
"Aim at perfection in everything, though in most things it is unattainable. However, they who aim at it, and persevere, will come much nearer to it than those whose laziness and despondency make them give it up as unattainable." - Lord Chesterfield
In this issue:
In response to requests on the forums, this issue has several articles that focus on the public release of software written in Liberty BASIC.
The most important thing to keep in mind when releasing sofware to the public is quality! The quotation at the top of this page suggests that we strive for perfection. This is critically important when we publish our software. Go through the code carefully. Are all possible errors trapped? Does the program look good, with all text spelled correctly, all controls lined up, etc? Does it have an intuitive user interface? Is there a thorough, accessible user's guide? Has it been tested on all possible platforms?
The new Assist Tools Add-On has many terrific features to help you improve your software, including a versioning system, code profiler, and a deployment tool. Read the description and goals for Assist by Carl Gundel. Also, pay close attention to Janet's review of Assist. Janet Terra has really put Assist through its paces, and she's sharing her experience with us.
If you don't have Assist, you can still take advantage of Liberty BASIC's ability to create an application from your code. You no longer need to copy and rename the runtime files manually. The Create Application tool will do this for you.
Mike Bradbury provides an answer to one of the most frequently asked questions on the forums. How can I pass data back and forth between my Liberty BASIC programs at runtime? We've often accomplished this with the use of disk files, by writing information to disk with one program, then checking for the file's existence and contents with another program. That kludge is no longer necessary! Mike gives us a simple and elegant method that uses two API calls to set or retrieve Environment variables. Our programs can easily communicate with one another using this method. Follow Mike's instructions and tokenize the demo programs he provides, calling the second one from the first one, and like magic, you'll see the data exchange between running programs! This is a fantastic breakthrough and Mike is to be highly commended for working it out and sharing it with us.
All applications should have an "About" dialog that gives the user information about the author, copyright, and any other pertinent information, such as the version number. Windows gives us an easy way to create a professional "About" dialog. See how to make use of it in API Corner - Shell About Box.
If you plan to charge a fee to those who use your software, you'll want to pay special attention to the article on Releasing Professional Software. It shows you an easy way to manage your application's information and submit that information to the many shareware listing sites online.
The Liberty BASIC FILEDIALOG allows the user to select a filename on disk. There is an API call that allows the user to select multiple files by holding down either CTRL or SHIFT while making the selections. Stefan Pendl shares a demo to use this API call. This is a great way to add a polished look to your Liberty BASIC applications. Thanks, Stefan!
Finally, Eddie, the Liberty BASIC code editor, makes another appearance. In version 9, Eddie drops the default keywords and adds the list of Liberty BASIC specific keywords for syntax coloring.
- Alyce Watson
The Liberty BASIC Newsletter encourages all LB programmers to submit articles for publication. Everyone has something valuable to say, from beginners to veteran LBers. Consider sharing a code routine, with explanation. Perhaps you can review a favorite LB website, or program, or coding tool? Why not submit a list of questions that have been nagging at you? How about sharing your favorite algorithm?
Alyce Watson: alycewatson at charter dot net
Brad Moore: ymail at copiasystems dot com
Tom Nally: SteelWeaver52 at aol dot com
Janet Terra: janetterra at yahoo dot com
Carl Gundel: carlg at libertybasic dot com
Bill Jennings: bbjen at hotPOP dot com
This newsletter was produced with WikiWriter, http://hytext.com/ww
No part of this newsletter may be reproduced or published in another location without the expressed, written consent of the publishers.
Individual authors retain copyrights to their works.